Introduction

FingerPrint v2.1.3
January 2004

What does it do?

A utility to see if any files in a directory have been created, deleted, or changed since the last scan. It's useful for checking if a program, e.g. viruses and trojans, has changed your system files (this is similar to such security software as Tripwire). The use of MD5 checksums guarantee detection of file changes. With it's integration with the Windows Task Scheduler, you can automate your scans, e.g. scan your Windows directory every night. FingerPrint can also be used to calculate MD5 values for files and directories, and compare the results, search for files having a particular MD5 value, and find duplicate files.

There are two FingerPrint programs: the normal Windows program and a console program (FingerPrintCL) that can be used from the command prompt to calculate MD5 and CRC32 values for files. See the FingerPrintCL section for information on using the console version.

OK, so how do I use it?

Proceed to the tutorial !

What is in this new version?

Click here for a list of changes, improvements, and bug fixes.

How much does it cost?

FingerPrint is 100% freeware and there is no need to register. It is not limited in any way. It is not adware, malware, or shareware. However, if you would like to donate to costs of running the web-site please do!

I've found a bug! I have a suggestion!

Please send bug reports, suggestions, or comments to admin@mjleaver.com

FingerPrint
(c) Michael J. Leaver, 2003 (MJLeaver@email.com )
All Rights Reserved.
http://www.mjleaver.com/


Tutorial1

FingerPrint
Tutorial

What does it do?

FingerPrint let's you check if any files in a directory have been created, deleted, or modified. A modification is where the contents of the file have changed, the size of the file has changed, or the modification date & time of the file has changed. By using MD5 hash values FingerPrint will always spot changes to a file even if it's size or modification date & time have not changed.

You can also calculate the MD5 values for files or entire directories and save the results to a file (or the clipboard). This is useful, for example, for when you have been given the MD5 value for a file and want to check manually if it has been changed.

An important point to remember is that the MD5 value for a file cannot be calculated if the file is opened exclusively by a program. For example, the outlook.pst file is opened exclusively by Microsoft Outlook while Outlook is running. FingerPrint will record in the log file which files could not be opened.

First Time

When you first run FingerPrint, the following dialog will appear:

Profiles define how a directory will be scanned. Basically, you need a profile for each directory you want to scan. Click Yes to proceed:

There are two types of profiles: a profile to scan a directory, and a group profile. A group profile is a collection of profiles (so you can perform many scans at one time, for example). We will create a Hash files in a directory profile, so just click OK:

Each profile must have a unique name. Enter a name that is relevant to what files you are backing-up, e.g. My Documents, then click OK (the name can be changed in future using the rename function):

You can now setup the profile:

  • Click the folder open button next to the Directory edit box and select the directory to scan. By default all the sub-directories are also scanned.
  • Click OK.

You are now asked if you would like to run your first scan for this profile. Click Yes :

Only the files that have been changed, or cannot be read to check for changes, are listed (if there are no changes then this screen in not displayed). See the Differences section for more information on this window. When you first create and run a profile, FingerPrint will say that all of the files in that directory have been changed. This is of course true because it has nothing to compare to. Click the Save button to save the scan results. After that you are returned to the main screen:

Now change one or more files (modify, delete, or create files) in your scan directory and run the scan again. To run the scan, select the profile in the list then click the Run button. You will see that FingerPrint lists those files that have changed. Congratulations! You've made your first scan.

Of course there are more options available, for example you can use FingerPrint to search for identical files. This quick tutorial just shows you the basics of creating and running a simple scan profile. See the Configuration section for more details. You should also view the Main Screen section for information on the main screens menu items and buttons.

Return to the Introduction


Configuration

This section covers the options available when you modify or create a scan profile.

Scan Options

  • Directory : The directory that will be scanned.
  • Include sub-directories and their files: This checkbox has three stated: checked, unchecked, and grayed. If checked, then all the sub-directories and their files (and all their sub-directories and files etc.) will be scanned. If unchecked, then only the files in the directory will be scanned (i.e. no sub-directories are scanned). If grayed, then you can choose which sub-directories to scan (go to the Sub-directories tab to choose the sub-directories).
  • Do not hash files - just check size and date & time: By default a hash value (MD5) is calculated for each file. This allows FingerPrint to detect any change to a file, even if its size and modification date & time have not changed. Unfortunately calculating the hash value for a file (especially a large file) can take a relatively long time. If you know the files that will be changed will also have their modification date & time changed (which is normal) then you can skip the file hashing process. This will significantly reduce the time taken to scan the directory.
  • Files types to scan: These are the types of files to scan. It is a filename mask, where '*' represents any string (as per normal Windows). By default all files are scanned. If, for example, you only wanted to copy Word and text documents you would use the strings *.doc and *.txt. Use the Add and Remove buttons to change the list.
  • Files types to NOT scan: These are the types of files to not scan. It works in the same way as file types to copy, except they are not copied. For example, to never scan temporary files use the string *.tmp

The Files types to copy and Files types to NOT copy settings allow for a number of special characters (note that filename comparisons are not case sensitive):

* | An asterisk matches any number of characters. Note that *.* will match any filename, even though technically it should exclude filenames that do not have a period ('.') character in them. This is kept for legacy reasons.
? | A question mark matches a single arbitrary character. For example, ?est.txt would match the filename test.txt, best.txt, zest.txt, etc.
[ | Each set begins with an opening bracket ([) and ends with a closing bracket (]). Between the brackets are the elements of the set. Each element is a literal character or a range. Ranges are specified by an initial value, a dash (-), and a final value. Do not use spaces or commas to separate the elements of the set. A set must match a single character in the string. The character matches the set if it is the same as one of the literal characters in the set, or if it is in one of the ranges in the set. A character is in a range if it matches the initial value, the final value, or falls between the two values. For example, [a-z]* will match any filename that begins with a letter.
] | See the help on [ above.
- | See the help on [ above.
! | If the first character after the opening bracket of a set is an exclamation point (!), then the set matches any character that is not in the set. For example, [!a-z]* will match any filename that does not begin with a letter.

Options

Generally you do not need to change any of these options, except possibly add to the list of file types to not copy.

  • Log File: These options indicate whether the log file is displayed or not after the profile is run:
    • Display log after running a profile: If enabled, the log file will be displayed after the profile is run.
    • Only when changes or errors occur: If enabled, the log file will only be displayed after the profile is run if there were any changes or errors, e.g. a file could be be opened.
  • Media Eject:
    • Eject drive media after profile is run : If enabled, the drive's media will be ejected after the profile is run. For example, if the directory is on a CD-ROM drive then the CD will be ejected after the profile has completed.
  • Schedule: If there is a schedule to run this profile, in the Windows Task Scheduler, then the status of the schedule will be displayed.
    • Schedule button: When pressed, the schedule for this profile is opened. See the Scheduling section for more information.

Sub-directories

This tab is only useful if the Include sub-directories and their files is grayed. It let's you choose which sub-directories to scan (by default all directories will be scanned):

Directories with a check mark next to them will be scanned for changes. A gray check mark indicates that not all of the directories sub-directories have a check mark. Right-click on the list to bring up a pop-up menu:

  • Refresh: Will refresh the directories list. Your selected directories are not lost.
  • Check All: All directories will be checked, i.e. they will all be scanned.
  • Check Selected: Only the selected directories will be checked. To select multiple directories hold down the Ctrl key while clicking on a directory.
  • Uncheck All: All directories will be unchecked, i.e. none of them will be scanned.
  • Uncheck Selected: Only the selected directories will be unchecked.

Settings Changes

When some settings are changed then it can affect the results of the next scan. For example, if you decide to include a sub-directory that was previously not being scanned for changes, then the next scan will report that files have been created in that sub-directory. This is perfectly normal as FingerPrint was not previously watching for changes in that sub-directory.


Main

Main Screen

This section details the buttons and menu items in the main screen.

The buttons do the following:

  • New: Creates a new profile. See the Tutorial section for an example of creating a profile, or the Group Profiles section for information on creating a group profile.
  • Modify: Modifies the existing selected profile. See the Configuration section for more information.
  • Delete: Deletes the selected profile.
  • Run: Runs the selected profiles (you can select multiple profiles using the Shift and Ctrl keys when clicking on profiles). See the Differences section for information on the window that appears showing what files have been changed.
  • Schedule: Creates or changes the schedule for the selected profile. See the Scheduling section for more information.
  • Close: Exit the program (the same as clicking the Exit menu item)

The Profiles menu:

  • New: Creates a new profile. See the Tutorial section for an example of creating a profile, or the Group Profiles section for information on creating a group profile. This is the same as clicking the New button.
  • Modify: Modifies the existing selected profile. See the Configuration section for more information. This is the same as clicking the Modify button.
  • Delete: Deletes the selected profile. This is the same as clicking the Delete button.
  • Rename: Let's you rename the selected profile.
  • Copy: Copies the selected profile to a new profile.
  • Export Profile: Exports a profiles settings, results file, excluded files list, and excluded directories list. The file created can then be imported either locally or on another computer.
  • Import Profile: Imports a profiles settings

The Action menu:

  • Run: Runs the selected profiles (you can select multiple profiles using the Shift and Ctrl keys when clicking on profiles). This is the same as clicking the Run button. See the Differences section for information on the window that appears showing what files have been changed.
  • View Log : Views the log file for the selected profile in your web browser. The log file contains detailed information on what files were changed and any errors that occured during the last run of the profile.
  • Hash Files: Calculates the hash values of one or more files. See the Hashing section below for more information.
  • Hash Directory: Calculates the hash values of an entire directory, and it's sub-directories. See the Hashing section below for more information.
  • Find Duplicate Files: Lists identical files. See the Duplicate Files section below for more information.
  • File Search: Searches for files that have a specific MD5 value. See the File Search section below for more information.
  • Schedule: Creates or changes the schedule for the selected profile. See the Scheduling section for more information. This is the same as clicking the Schedule button.
  • Double-click Action: Let's you configure what happens when you double-click on a profile entry. The first time you double-click the double-click configuration window will appear automatically.

If you right-click on a profile, the following pop-up menu will appear:

Hashing

By selecting Hash Files or Hash Directory from the main menu, you can use FingerPrint to calculate the MD5 hash values for files.

Right-clicking on the list brings up a pop-up menu (these are also in the main menu):

  • Select all: Selects all files in the list.
  • Clear selected : Removes the selected files from the list.
  • Copy selected hash values to clipboard: The filenames and hash values are copied to the clipboard. If just one file is selected then just the hash value is copied to the clipboard.
  • Save selected hash values to disk: The filenames and hash values are saved to a text file.
  • Recalculate hash values for selected files: The hash values are recomputed for the selected files.
  • Compare selected files to a file of MD5 values: This compares the MD5 values of the selected files to a file containing MD5 values (as previously saved using the Copy selected hash values to disk function).

Double-clicking on a file in the list brings up a dialog box containing the MD5 value of the file.

Duplicate Files

By selecting Find Duplicate Files from the main menu, you can use FingerPrint to search your hard drive for duplicate files, i.e. files whose contents are identical to another. Note that empty files are ignored.

You can actually delete the duplicate files by selecting them and choosing Delete selected from the menu.

File Search

By selecting File Search from the main menu, you can use FingerPrint to search your hard drive for files that have a specific MD5 value.


Scheduling

FingerPrint interfaces with the Windows Task Scheduler to allow you to run profiles automatically at certain times, e.g. run a profile every day at 5am. On Windows XP you can access the task scheduler via the Start menu (All Programs -> Accessories -> System Tools -> Scheduled Tasks).

Creating a schedule

To create a schedule for a profile, select the profile on the main screen and click the Schedule button (you can also click the Schedule button when modifying a profile). If there is no schedule for the profile, a dialog box will appear (if you have a schedule already then a different windows will appear - see the Modifying a schedule section below):

Click Yes. If you are running Windows NT, 2000, or XP the following dialog box will appear (if you are using Windows 95, 98, or ME then this dialog box will not appear):

Users on Windows NT, 2000, and XP must tell the Windows Task Scheduler their login password to be able to run a program on a schedule, whereas on Windows 95, 98, and ME no password is required. This dialog box is a reminder to tell you to enter your password on the next screen (otherwise FingerPrint will not run at its scheduled time). Click OK:

Note that on Windows 95, 98, and ME this dialog box will look slightly different (there is no Set password button). If there is a Set password... button then click it:

You must now enter your Windows login password twice, then click OK. You are then returned to the previous dialog box. It is critically important that your password is entered otherwise FingerPrint will not be run at the scheduled time. Click the Schedule tab:

By default, FingerPrint will create a schedule to run the profile every day at 9am. You can change the schedule on this screen. See the Windows help file for more information. Click the Settings tab:

See the Windows help file for more information on this screen. See the Important Scheduling Information section below for more information.

Modify a schedule

If you already have a schedule for a profile, when you click the Schedule button the following window will appear:

This windows displays information on the schedule for the profile, e.g. what it's schedule is and the current status. You can delete or edit the schedule from this window.

Important Scheduling Information

There are some important points to remember about the Windows scheduler:

  • On Windows XP, 2000, and NT make sure you set your password for the task.
  • If you are using power saving features in Windows, e.g. your computer goes to stand-by or hibernate after a certain period of inactivity, then you must enable the Wake the computer to run this task option in the scheduler. This will wake your computer to run the task at the appointed time.
  • You must be logged into Windows for the task to start at the scheduled time.


Differences

When you run a profile, if any files have been created, modified, or deleted then the following window will appear:

The Save button saves the scan results (to be used as the comparison base for the next scan) and closes the window. Press the Cancel button to not save the results. If you do not save the results then the scan results from the previous scan are kept.

There are three tabs in the display:

  • Modified: This is a list of all the files that have been created, modified, or deleted.
  • Modified (inc. excluded): This is a list of all the files that have been created, modified, or deleted. It also includes files that have been excluded (see below) and so will not appear in the log.
  • Modified (only excluded) : This is a list of only the excluded files that have been created, modified, or deleted.

If you don't want a file to be scanned for changes then right-click on it:

  • Exclude file from future comparisons: If selected, the file will never be scanned for changes, i.e. the file will be ignored.
  • Include file in future comparisons: The opposite of the previous menu item. If you have previously excluded a file then this will re-include it.
  • Select all : All files are selected. This allows you to quickly include or exclude all the files.
  • Show new files: Show or hide files that have been created.
  • Show deleted files: Show or hide files that have been deleted.
  • Show changed files: Show or hide files that have been changed.


Group Profiles

Group profiles are collections of profiles. This allows you to run multiple profiles in one go instead of having to run each profile one after another.

For example, in the above group profile, there are two profiles: My Documents and My Music. The My Pictures profile is not in the group. You can add and remove profiles from the group using the <. <<. >, and >> buttons. To run this group profile on a schedule click the Schedule button. See the Schedule section for more information.


FingerPrintCL

FingerPrintCL is the console version of FingerPrint. It can be found in the FingerPrint installation directory. To get help on the options available, run the program with any parameters.

The command line version can be used to calculate both MD5 and CRC32 values. The CRC32 values are compatible with those produced by PKZip and its many implementations, e.g. WinZip, IZArc, etc.


Donate

FingerPrint v2.1.3
January 2004

FingerPrint is completely free. It is not shareware. You can use it without cost for as long as you wish.

However, if you would like to make a contribution to help keep this software, and the web-site, maintained then please click the PayPal icon below (it requires a connection to the Internet).

Thankyou!


Changes

FingerPrint Changes

Version 2.1.3 (January 2004)

  • Fixed 'file list not sorted' bugs

Version 2.1.2 (January 2004)

  • Increase performance of getting sub-directories in profile set-up
  • Bug fix for profile export missing registry file

Version 2.1.1 (January 2004)

  • If local help file is missing user is given option of viewing online help
  • Can check for updates to program
  • Can visit online forums
  • Bug fix for profile setup dialog when used with different Windows DPI and font size

Version 2.1 (January 2004)

  • Faster directory scan time
  • Can select sub-directories to ignore
  • Can import and export profiles
  • Can test for changes based on date & time and file size only (i.e. do not hash)
  • If a profile is renamed, and it has a schedule, the user is prompted to change the schedules parameters (future versions may do this automatically)
  • Command line version (FingerPrintCL) can now calculate CRC32 values
  • Numerous minor changes to handle scheduled tasks that run more than one profile
  • The items shown in the Differences form can be filtered and the column widths are set automatically
  • Can now abort a scan earlier
  • Aborting a group profile aborts all the profiles in the group not just the current profile
  • Can now delete multiple profiles in one go instead of just one at a time
  • Can now display log file for multiple profiles in one go instead of just one at a time
  • When a profile is copied, the last run result and status are not copied and neither is the log file
    A scan is aborted if a directory cannot be scanned
  • Fixed bug where a path could be added as a file mask
  • Fixed DPI and font size problem with some forms (if Windows DPI was not default of 96 and normal font was not used some forms were corrupted)
  • Directory selection dialogs now always centered in screen
  • Profile names must be valid filenames
  • Fixed a date & time conversion bug that stopped previous results from being loaded (thanks to Ton van der Doelen for his help)
  • Now reports correct total scan time in log

Version 2.0 (December 2003)

  • Complete rewrite with numerous improvements and a new user interface (based on the SyncBack program)
  • Considerably faster scan time than previous versions
  • Now includes a help file
  • A console version of FingerPrint is included
  • Can search for identical files
  • Can search for files with a specific MD5 value
  • Can save hash values to clipboard or file, and compare against saved results

Version 1.x (September 2003)

  • Original version